// samsting : this file is auto create.

#ifndef ALIYUN_Ecs_DescribeImageSharePermissionResponse_H_
#define ALIYUN_Ecs_DescribeImageSharePermissionResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ecs {

class DescribeImageSharePermissionResponse : public AcsResponse {
public:
  DescribeImageSharePermissionResponse();

  class ShareGroup {
    friend class DescribeImageSharePermissionResponse;
  public:
    const string& GetGroup(void) const;
  private:
    string Group_;
  }; // ShareGroup 


  class Account {
    friend class DescribeImageSharePermissionResponse;
  public:
    const string& GetAliyunId(void) const;
  private:
    string AliyunId_;
  }; // Account 

  const std::vector<ShareGroup>& GetShareGroups(void) const;
  const std::vector<Account>& GetAccounts(void) const;
  const string& GetRegionId(void) const;
  int  GetTotalCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;
  const string& GetImageId(void) const;

private:
  std::vector<ShareGroup> ShareGroups_;
  std::vector<Account> Accounts_;
  string RegionId_;
  int    TotalCount_;
  int    PageNumber_;
  int    PageSize_;
  string ImageId_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ecs {

#endif // #ifndef ALIYUN_Ecs_DescribeImageSharePermissionResponse_H_

// end of file 
